﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Mani.Common;

namespace Gasco.Business.Workflows
{
    public interface IOrderWorkflow
    {
        void SendEvent(OrderEvent eventId);
        Dictionary<int, Transition> GetTransitionsByState(int stateId);
    }

    public enum OrderEvent
    {
        ApproveOrder,
        OrderPaid,
        OrderLoaded,
        PriceCalculated,
        ReturnToInitial,
        CancelOrder,
        UndoCancel
    }

    public enum OrderStates
    {
        Initial = 10,
        WaitingForPayment = 20,
        WaitingForLoading = 30,
        WaitingForPriceCalc = 35,
        Complete = 40,
        Cancel = 50
    }
}
